home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / util / text / xes.lha / XES / REXX / InsLit.xdme < prev    next >
Text File  |  1995-08-01  |  2KB  |  85 lines

  1. /* $VER: InsLit.xdme 1.0 (01 Aug 1995) */
  2. /* Copyright © 1992-5 Fergus Duniho */
  3. /* Requester for picking and inserting any character */
  4.  
  5. IF ~Show("L","rexxarplib.library") THEN
  6.     IF ~Addlib("rexxarplib.library",0,-30,0) THEN EXIT
  7.  
  8. OPTIONS RESULTS
  9. ADDRESS 'XDME.1'
  10. 'rxresult $txtfontname'
  11. Font = result
  12. 'rxresult $txtfontsize'
  13. Size = result
  14.  
  15. H = Size+4
  16. IF Size=9 THEN W = 20
  17. ELSE W = 16
  18.  
  19. ADDRESS AREXX "'Call CreateHost CPORT, NOTPORT'"
  20. DO UNTIL Showlist(P,CPORT)
  21.     CALL Delay(10)
  22. END
  23.  
  24. IDCMP = 'CLOSEWINDOW+WINDOWDRAG+MOUSEBUTTONS'
  25. FLAGS = 'ACTIVATE+WINDOWCLOSE+WINDOWDRAG'
  26.  
  27. CALL OpenWindow CPORT, 70, 50, 1+W*28, 10+8*H, IDCMP, FLAGS, 'Pick a Character'
  28. CALL ModifyHost CPORT, CLOSEWINDOW, 'Call Quit CPORT; Exit'
  29. CALL ModifyHost CPORT, MOUSEBUTTONS, 'X = %x; Y = %y; Call ReadHost CPORT, MAINPORT, "X = %x; Y = %y; Call Insert()"'
  30.  
  31. CALL SetAPen CPORT, 1
  32. CALL SetFont CPORT, FONT, SIZE
  33. CALL Move CPORT, 4, 6+H
  34. CALL Text CPORT, "  ! "" # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ;"
  35. CALL Move CPORT, 4, 6+2*H
  36. CALL Text CPORT, "< = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W"
  37. CALL Move CPORT, 4, 6+3*H
  38. CALL Text CPORT, "X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s"
  39. CALL Move CPORT, 4, 6+4*H
  40. CALL Text CPORT, "t u v w x y z { | } ~  €  ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ  Ž "
  41. CALL Move CPORT, 4, 6+5*H
  42. CALL Text CPORT, " ‘ ’ “ ” • – — ™ ˜ š › œ  ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª «"
  43. CALL Move CPORT, 4, 6+6*H
  44. CALL Text CPORT, "¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç"
  45. CALL Move CPORT, 4, 6+7*H
  46. CALL Text CPORT, "Ƞɠʠˠ̠͠ΠϠРѠҠӠԠՠ֠נؠ٠ڠ۠ܠݠޠߠà á â ã"
  47. CALL Move CPORT, 4, 6+8*H
  48. CALL Text CPORT, "ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ"
  49. CALL SetAPen CPORT, 3
  50. DO Y = 10+H TO 10+7*H BY H
  51.     CALL Move CPORT, 0, Y
  52.     CALL Draw CPORT, 28*W, Y
  53. END
  54. DO X = W TO 27*W BY W
  55.     CALL Move CPORT, X, 10
  56.     CALL Draw CPORT, X, 20+8*H
  57. END
  58.  
  59. CALL OpenPort MAINPORT
  60. DO UNTIL ShowList(P, MAINPORT)
  61.     CALL Delay(10)
  62. END
  63.  
  64. CALL SetNotify(CPORT, CLOSEWINDOW, MAINPORT)
  65. CALL SetNotify(CPORT, MOUSEBUTTONS, MAINPORT)
  66.  
  67. DO FOREVER
  68.     CALL WaitPkt(MAINPORT)
  69.     Packet = GetPkt(MAINPORT)
  70.     IF Packet ~== Null() THEN DO
  71.         ID = GetArg(PACKET, 0)
  72.         CALL Reply PACKET, 0
  73.         INTERPRET ID
  74.     END
  75. END
  76.  
  77. Insert:
  78. Call Quit CPORT
  79. CH = d2c(((Y-10)%H)*28+X%W+32)
  80. C = "'" || CH
  81. C
  82. C = "set ch" CH
  83. C
  84. EXIT
  85.